package com.byzk.p2p.admin.money.dao;

import java.util.Date;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.byzk.p2p.admin.money.dto.WithdrawRecord;
import com.byzk.p2p.admin.money.vo.SumWithdrawVo;
import com.byzk.p2p.admin.money.vo.WithdrawRecordExportVo;
import com.byzk.p2p.admin.money.vo.WithdrawRecordVo;
import com.byzk.p2p.admin.money.vo.WithdrawUserVo;

public interface WithdrawDao {

	public Integer countByStatus(WithdrawRecordVo record);

	public List<WithdrawRecordVo> listByStatus(WithdrawRecordVo record);
	
	public SumWithdrawVo sumByStatus(WithdrawRecordVo record);
	
	public Integer insert(WithdrawRecord record);

	public Integer update(WithdrawRecord record);
	
	public WithdrawUserVo getWithdrawUserDetail(int uid);
	
	public WithdrawRecord getWithdrawDetail(int id);
	
	public List<WithdrawRecordVo> listByExportVo(WithdrawRecordExportVo vo);
	
	public List<WithdrawRecordVo> listByIds(List<String> ids);
	
	public Double sumTotalWithdarw();
	
	public SumWithdrawVo sumByDateDanger(@Param("start")Date start,@Param("end")Date end);
	
	public List<WithdrawRecordVo> listWithdrawById(Integer id);
	
	public List<WithdrawRecord> getRecordByCode(String code);

	public List<WithdrawRecord> listByDateAndUid(@Param("userId")Integer userId, @Param("date")String date);
	
	public List<WithdrawRecord> listByParams(WithdrawRecord record);
}
